在java中byte[]数组转换成Stirng类型

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:10:06
数组的长度是256 但是里面存的数据不确定 小于256 会自动在后面加
如果用 new String(byte[])的话会在结果会是192.168.1.254�����������������������������������
而我只要192.168.1.254
String newMacNoCtrl=paramLibService.findByKey(WT_PATAMLIB_NUMSCTROL);
if(newMacNoCtrl!=null){
byte[] output=Base64.Base64Decode(newMacNoCtrl);
String newMacNo= new String(output);
param.setNewMacNoCtrl(newMacNo);

关键是output字节数组总长度是256 比如yes就存在ouput[0]--output[2] output[3]--output[255]以0填充 里面存在的数据不定的 而只取yes

加一个for循环,
for(int i=0;i<byte.size();i++){
if(byte[i]!=null) {
str += String.valueof(byte[i]);
}
}

new String(byte[],0,byte.size())

建议楼主多查查api

指定编码格式,这个地方的编码格式根据实际的环境更改
new String(bs, "GBK");

把byte定义到使用的代码贴出来看看
应该是获取byte时有问题